<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>cute-transfer: Connection类参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- 制作者 Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">cute-transfer</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>首页</span></a></li>
      <li class="current"><a href="annotated.html"><span>类</span></a></li>
      <li><a href="files.html"><span>文件</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>组合类型列表</span></a></li>
      <li><a href="classes.html"><span>组合类型索引</span></a></li>
      <li><a href="functions.html"><span>组合类型成员</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">组合类型</a> &#124;
<a href="#pub-types">公有类型</a> &#124;
<a href="#pub-methods">公有成员</a> &#124;
<a href="#pub-static-methods">静态公有成员</a>  </div>
  <div class="headertitle">
<div class="title">Connection类参考</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Connection" -->
<p>连接类  
 <a href="class_connection.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="connection_8h_source.html">connection.h</a>&gt;</code></p>

<p><a href="class_connection-members.html">所有成员的列表。</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
组合类型</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_connection_1_1_____connection_info.html">__ConnectionInfo</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
公有类型</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="class_connection.html#acea45320bf437182b6df56d238f127d4a6ac87b5ad88277e855c7069c92c1a479">CI_MSG</a> =  0, 
<a class="el" href="class_connection.html#acea45320bf437182b6df56d238f127d4a989319b5032ad18954665d76be3eb774">CI_FILENEW</a>, 
<a class="el" href="class_connection.html#acea45320bf437182b6df56d238f127d4a4ff6e27604edfac1c02ccfcc2d9b283c">CI_FILESTARTSEND</a>, 
<a class="el" href="class_connection.html#acea45320bf437182b6df56d238f127d4ad3d543e05399f24d0e3aa51125bfe256">CI_FILESENDCANCEL</a>, 
<br/>
&#160;&#160;<a class="el" href="class_connection.html#acea45320bf437182b6df56d238f127d4aa0369367db1b811c01bce029a8f47d2a">CI_FILECONTENT</a>, 
<a class="el" href="class_connection.html#acea45320bf437182b6df56d238f127d4ab1b973f17f2c75ba75ba03fbd5ba5ccc">CI_FILECLOSE</a>, 
<a class="el" href="class_connection.html#acea45320bf437182b6df56d238f127d4a42c1f798607deead31db115c4a382b59">CI_FILEMD5</a>, 
<a class="el" href="class_connection.html#acea45320bf437182b6df56d238f127d4a26d0ecb83471911a4f52faebbdca9da7">CI_FILEEND</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">ConInfo常量列表  <a href="class_connection.html#acea45320bf437182b6df56d238f127d4">更多...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="struct_connection_1_1_____connection_info.html">Connection::__ConnectionInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a99cb53a80cd37966cc4f7e922c5f2ccc">ConInfo</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
公有成员</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a9de94289ca6259f94ef6aeba3b134a77">Connection</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#ac5af327d034a807cbdd45cd93b8d4efc">Connection</a> (const SOCKADDR_IN &amp;newAddr, int newRecvfd=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a2e4352edf667bea83001569e9da8a24d">~Connection</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a6338a92b3fc9db9d1c82f537aecd1c10">compare</a> (const <a class="el" href="class_connection.html">Connection</a> &amp;cpCon)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#ac8c5ffaeee6b7ac1ac3b4eb27a1f6193">isExist</a> (const SOCKADDR_IN &amp;cpAddr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a2ce3e68b2f6e09a86591b3fc8818fac3">getRecvfd</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a76abdfdf3ba06bb8bfbc95d8cc3e9d8b">setRecvfd</a> (int newRecvfd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a3c0a490cbc7337b7dda84ef72f3b5632">startCon</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a4dbf656f9bb517b2effa9d40ff49eabd">closeCon</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a6fa2bc6d6be7049487cce4135c3657e6">sendMsg</a> (const std::string msg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a02edd03264480bcfec195f88c65385c5">addFileToSend</a> (const std::string &amp;filepath)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a34ff84664e4b728d4f59947dd45788a2">testConnect</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SOCKADDR_IN&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a3c590179abcedd53b3bae4fd3046a374">getSelfAddr</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
静态公有成员</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a9f3f51055f4c70eeef82a7ba68e85e97">thread_recv</a> (void *arg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_connection.html#a3f7349a98ae89d34f50dfbe839e14a13">thread_sendfile</a> (void *arg)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>详细描述</h2>
<div class="textblock"><p>连接类 </p>
<p><a class="el" href="connection_8h_source.html">connection.h</a> <a class="el" href="class_connection.html" title="连接类">Connection</a> header</p>
<p>Lai </p>
<dl class="date"><dt><b>日期:</b></dt><dd>July 8 2011</dd></dl>
<p>This file is part of cute-transfer based cracker project, which released under the GNU GPL v2 or v3 (whichever you like) This project is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 主要负责与不同客户之间的连接和通信。 </p>
</div><hr/><h2>成员类型定义文档</h2>
<a class="anchor" id="a99cb53a80cd37966cc4f7e922c5f2ccc"></a><!-- doxytag: member="Connection::ConInfo" ref="a99cb53a80cd37966cc4f7e922c5f2ccc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct_connection_1_1_____connection_info.html">Connection::__ConnectionInfo</a>  <a class="el" href="struct_connection_1_1_____connection_info.html">Connection::ConInfo</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>连接信息 </p>

</div>
</div>
<hr/><h2>成员枚举类型文档</h2>
<a class="anchor" id="acea45320bf437182b6df56d238f127d4"></a><!-- doxytag: member="Connection::@0" ref="acea45320bf437182b6df56d238f127d4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>ConInfo常量列表 </p>
<dl><dt><b>枚举值: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="acea45320bf437182b6df56d238f127d4a6ac87b5ad88277e855c7069c92c1a479"></a><!-- doxytag: member="CI_MSG" ref="acea45320bf437182b6df56d238f127d4a6ac87b5ad88277e855c7069c92c1a479" args="" -->CI_MSG</em>&nbsp;</td><td>
<p>消息 </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="acea45320bf437182b6df56d238f127d4a989319b5032ad18954665d76be3eb774"></a><!-- doxytag: member="CI_FILENEW" ref="acea45320bf437182b6df56d238f127d4a989319b5032ad18954665d76be3eb774" args="" -->CI_FILENEW</em>&nbsp;</td><td>
<p>文件新建 </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="acea45320bf437182b6df56d238f127d4a4ff6e27604edfac1c02ccfcc2d9b283c"></a><!-- doxytag: member="CI_FILESTARTSEND" ref="acea45320bf437182b6df56d238f127d4a4ff6e27604edfac1c02ccfcc2d9b283c" args="" -->CI_FILESTARTSEND</em>&nbsp;</td><td>
<p>文件开始传送 </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="acea45320bf437182b6df56d238f127d4ad3d543e05399f24d0e3aa51125bfe256"></a><!-- doxytag: member="CI_FILESENDCANCEL" ref="acea45320bf437182b6df56d238f127d4ad3d543e05399f24d0e3aa51125bfe256" args="" -->CI_FILESENDCANCEL</em>&nbsp;</td><td>
<p>文件取消发送 </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="acea45320bf437182b6df56d238f127d4aa0369367db1b811c01bce029a8f47d2a"></a><!-- doxytag: member="CI_FILECONTENT" ref="acea45320bf437182b6df56d238f127d4aa0369367db1b811c01bce029a8f47d2a" args="" -->CI_FILECONTENT</em>&nbsp;</td><td>
<p>文件内容 </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="acea45320bf437182b6df56d238f127d4ab1b973f17f2c75ba75ba03fbd5ba5ccc"></a><!-- doxytag: member="CI_FILECLOSE" ref="acea45320bf437182b6df56d238f127d4ab1b973f17f2c75ba75ba03fbd5ba5ccc" args="" -->CI_FILECLOSE</em>&nbsp;</td><td>
<p>文件关闭 </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="acea45320bf437182b6df56d238f127d4a42c1f798607deead31db115c4a382b59"></a><!-- doxytag: member="CI_FILEMD5" ref="acea45320bf437182b6df56d238f127d4a42c1f798607deead31db115c4a382b59" args="" -->CI_FILEMD5</em>&nbsp;</td><td>
<p>文件MD5请求 </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="acea45320bf437182b6df56d238f127d4a26d0ecb83471911a4f52faebbdca9da7"></a><!-- doxytag: member="CI_FILEEND" ref="acea45320bf437182b6df56d238f127d4a26d0ecb83471911a4f52faebbdca9da7" args="" -->CI_FILEEND</em>&nbsp;</td><td>
<p>文件结束 </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>构造及析构函数文档</h2>
<a class="anchor" id="a9de94289ca6259f94ef6aeba3b134a77"></a><!-- doxytag: member="Connection::Connection" ref="a9de94289ca6259f94ef6aeba3b134a77" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Connection::Connection </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>构造空的Connection对象 </p>

</div>
</div>
<a class="anchor" id="ac5af327d034a807cbdd45cd93b8d4efc"></a><!-- doxytag: member="Connection::Connection" ref="ac5af327d034a807cbdd45cd93b8d4efc" args="(const SOCKADDR_IN &amp;newAddr, int newRecvfd=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Connection::Connection </td>
          <td>(</td>
          <td class="paramtype">const SOCKADDR_IN &amp;&#160;</td>
          <td class="paramname"><em>newAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>newRecvfd</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>构造Connection对象 </p>
<dl><dt><b>参数:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">const</td><td>SOCKADDR_IN &amp; 地址 </td></tr>
    <tr><td class="paramname">int</td><td>接受套接字 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2e4352edf667bea83001569e9da8a24d"></a><!-- doxytag: member="Connection::~Connection" ref="a2e4352edf667bea83001569e9da8a24d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Connection::~Connection </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>析构Connection对象 </p>

</div>
</div>
<hr/><h2>成员函数文档</h2>
<a class="anchor" id="a02edd03264480bcfec195f88c65385c5"></a><!-- doxytag: member="Connection::addFileToSend" ref="a02edd03264480bcfec195f88c65385c5" args="(const std::string &amp;filepath)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Connection::addFileToSend </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>filepath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>创建新的文件状态至发送列表，等待发送 </p>
<dl><dt><b>参数:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">string</td><td>文件路径 </td></tr>
  </table>
  </dd>
</dl>

<p><p>Bug: 无法重复发送一个文件或者发送后缀名为空的文件 fix：将send()函数放到map.insert()之后，可能本地的map并未创立 但是已经开始发送了，本地状态始终为FS_WAIT=0. fix by Olin</p>
</p>

</div>
</div>
<a class="anchor" id="a4dbf656f9bb517b2effa9d40ff49eabd"></a><!-- doxytag: member="Connection::closeCon" ref="a4dbf656f9bb517b2effa9d40ff49eabd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Connection::closeCon </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>关闭连接并重置状态 </p>

</div>
</div>
<a class="anchor" id="a6338a92b3fc9db9d1c82f537aecd1c10"></a><!-- doxytag: member="Connection::compare" ref="a6338a92b3fc9db9d1c82f537aecd1c10" args="(const Connection &amp;cpCon)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Connection::compare </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_connection.html">Connection</a> &amp;&#160;</td>
          <td class="paramname"><em>cpCon</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>比较对象是否相同 </p>
<dl><dt><b>返回值:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">bool</td><td>true 相同 </td></tr>
    <tr><td class="paramname">bool</td><td>false 不相同 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2ce3e68b2f6e09a86591b3fc8818fac3"></a><!-- doxytag: member="Connection::getRecvfd" ref="a2ce3e68b2f6e09a86591b3fc8818fac3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Connection::getRecvfd </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>获取接收套接字 </p>
<dl><dt><b>返回值:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">int</td><td>接收套接字 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3c590179abcedd53b3bae4fd3046a374"></a><!-- doxytag: member="Connection::getSelfAddr" ref="a3c590179abcedd53b3bae4fd3046a374" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOCKADDR_IN Connection::getSelfAddr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>获取本对象所对应的地址 </p>
<dl><dt><b>返回值:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">SOCKADDR_IN</td><td>对象地址信息 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac8c5ffaeee6b7ac1ac3b4eb27a1f6193"></a><!-- doxytag: member="Connection::isExist" ref="ac8c5ffaeee6b7ac1ac3b4eb27a1f6193" args="(const SOCKADDR_IN &amp;cpAddr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Connection::isExist </td>
          <td>(</td>
          <td class="paramtype">const SOCKADDR_IN &amp;&#160;</td>
          <td class="paramname"><em>cpAddr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>判断对象是否已经被创建 </p>
<dl><dt><b>参数:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">const</td><td>SOCKADDR_IN &amp; 对象比较地址</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>返回值:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">bool</td><td>true 相同 </td></tr>
    <tr><td class="paramname">bool</td><td>false 不相同 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6fa2bc6d6be7049487cce4135c3657e6"></a><!-- doxytag: member="Connection::sendMsg" ref="a6fa2bc6d6be7049487cce4135c3657e6" args="(const std::string msg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Connection::sendMsg </td>
          <td>(</td>
          <td class="paramtype">const std::string&#160;</td>
          <td class="paramname"><em>msg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发送消息 </p>
<dl><dt><b>参数:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">string</td><td>消息内容 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a76abdfdf3ba06bb8bfbc95d8cc3e9d8b"></a><!-- doxytag: member="Connection::setRecvfd" ref="a76abdfdf3ba06bb8bfbc95d8cc3e9d8b" args="(int newRecvfd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Connection::setRecvfd </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>newRecvfd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>设置接收套接字 </p>
<dl><dt><b>参数:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">int</td><td>新的接收套接字 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3c0a490cbc7337b7dda84ef72f3b5632"></a><!-- doxytag: member="Connection::startCon" ref="a3c0a490cbc7337b7dda84ef72f3b5632" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Connection::startCon </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>开始连接 </p>

</div>
</div>
<a class="anchor" id="a34ff84664e4b728d4f59947dd45788a2"></a><!-- doxytag: member="Connection::testConnect" ref="a34ff84664e4b728d4f59947dd45788a2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Connection::testConnect </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>测试用函数 </p>

</div>
</div>
<a class="anchor" id="a9f3f51055f4c70eeef82a7ba68e85e97"></a><!-- doxytag: member="Connection::thread_recv" ref="a9f3f51055f4c70eeef82a7ba68e85e97" args="(void *arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void * Connection::thread_recv </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>监听线程函数，当连接有效时创建 </p>

</div>
</div>
<a class="anchor" id="a3f7349a98ae89d34f50dfbe839e14a13"></a><!-- doxytag: member="Connection::thread_sendfile" ref="a3f7349a98ae89d34f50dfbe839e14a13" args="(void *arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void * Connection::thread_sendfile </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发送文件线程，在发送列表非空时创建 </p>

</div>
</div>
<hr/>该类的文档由以下文件生成：<ul>
<li>E:/CODE/CPPpro/cute-transfer/Msg&amp;FileTransfer/<a class="el" href="connection_8h_source.html">connection.h</a></li>
<li>E:/CODE/CPPpro/cute-transfer/Msg&amp;FileTransfer/connection.cpp</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>全部</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>类</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>函数</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>变量</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>类型定义</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>枚举</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>枚举值</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated at 2011年七月8日 星期五 15:50:02 for cute-transfer by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>
